Modern data processing systems, such as general purpose computer systems, allow the users of such systems to create a variety of different types of data files. For example, a typical user of a data processing system may create text files with a word processing program such as Microsoft Word or may create an image file with an image processing program such as Adobe's PhotoShop. Numerous other types of files are capable of being created or modified, edited, and otherwise used by one or more users for a typical data processing system. The large number of the different types of files that can be created or modified can present a challenge to a typical user who is seeking to find a particular file which has been created.
Modern data processing systems often include a file management system which allows a user to place files in various directories or subdirectories (e.g. folders) and allows a user to give the file a name. Further, these file management systems often allow a user to find a file by searching for the file's name, or the date of creation, or the date of modification, or the type of file. An example of such a file management system is the Finder program which operates on Macintosh computers from Apple Computer, Inc. of Cupertino, Calif. Another example of a file management system program is the Windows Explorer program which operates on the Windows operating system from Microsoft Corporation of Redmond, Wash. Both the Finder program and the Windows Explorer program include a find command which allows a user to search for files by various criteria including a file name or a date of creation or a date of modification or the type of file.
Implementation of a find or search capability in a mobile computing device, such as a phone, personal digital assistant (PDA), laptop computer, or other device, may be constrained by limits on computing resources. For example, processing power, battery power, battery life, or other such computing resources may be limited in these devices. Since searching of files often consumes a significant amount of processing, performing a search in a computing device with limited resources can lead to such undesirable effects as a greatly decreased battery life or a high latency for performing the search. For example, significant searching activity on a handheld battery powered device can mean that a device which can operate for a day on a full battery charge if no searching is done will only operate for much less than a full day if searching is done.